<?php
/**
 *  简单实用Execl
 */

set_include_path('.'.get_include_path().PATH_SEPARATOR.dirname(__FILE__).'/PHPExecl/');
/* @func 引入类 */
require './PHPExcel/PHPExcel.php';

//模拟数据
$mulit_arr = array(
    '0'=>array(
        'title'=>'工作区域1',
        'data'=>[
            array('ID', 'NAME', 'AGE'),
            array('id'=>'a', 'name'=>'b', 'age'=>'c'),
            array('id'=>'a1', 'name'=>'b1', 'age'=>'c1'),
        ]
    ),
    '1'=>array(
        'title'=>'工作区域2',
        'data'=>[
            array('ID', 'NAME', 'AGE'),
            array('id'=>'a2', 'name'=>'b2', 'age'=>'c2'),
            array('id'=>'a3', 'name'=>'b3', 'age'=>'c3'),
        ]
    )
);

$cellName = [
    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
    'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE',
    'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'
];
/* @实例化 */
$obpe = new PHPExcel();
/* @func 设置文档基本属性 */
$obpe_pro = $obpe->getProperties();
$obpe_pro->setCreator('midoks')//设置创建者
->setLastModifiedBy('2013/2/16 15:00')//设置时间
->setTitle('data')//设置标题
->setSubject('beizhu')//设置备注
->setDescription('miaoshu')//设置描述
->setKeywords('keyword')//设置关键字 | 标记
->setCategory('catagory');//设置类别


/* 设置宽度 */
//$obpe->getActiveSheet()->getColumnDimension()->setAutoSize(true);
//$obpe->getActiveSheet()->getColumnDimension('B')->setWidth(10);

//设置当前sheet索引,用于后续的内容操作
//一般用在对个Sheet的时候才需要显示调用
//缺省情况下,PHPExcel会自动创建第一个SHEET被设置SheetIndex=0
//设置SHEET
$obpe->setactivesheetindex(0);
//写入多行数据
foreach($mulit_arr as $arrKey=>$arrVal){
    $obpe->setactivesheetindex($arrKey);
    //设置SHEET名称
    $obpe->getActiveSheet()->setTitle($arrVal['title']);
    foreach ($arrVal['data'] as $dataKey=>$dataVal){
        $dataVal=array_values($dataVal);
        foreach ($dataVal as $lineKey=>$lineVal){
            /* @func 设置列 */
            $obpe->getactivesheet()->setcellvalue($cellName[$lineKey].($dataKey+1),$lineVal);
        }
    }
    $obpe->createSheet();
}
//写入类容
$obwrite = PHPExcel_IOFactory::createWriter($obpe, 'Excel5');
//ob_end_clean();
//保存文件
//$obwrite->save('mulit_sheet.xls');

//or 以下方式
/*******************************************
直接在浏览器输出
 *******************************************/
header('Pragma: public');
header('Expires: 0');
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Content-Type:application/force-download');
header('Content-Type:application/vnd.ms-execl');
header('Content-Type:application/octet-stream');
header('Content-Type:application/download');
header("Content-Disposition:attachment;filename=mulit_sheet.xls");
header('Content-Transfer-Encoding:binary');
$obwrite->save('php://output');
?>